//package com.itstyle.seckill.util.statusflow;
//
//import cn.gogpay.dcb.mall.common.enums.order.OrderStatusEnum;
//import cn.gogpay.dcb.mall.order.annotation.OnOrderStatusEvent;
//import com.alibaba.fastjson.JSON;
//
//import java.lang.reflect.Method;
//import java.util.Arrays;
//import java.util.List;
//
///**
// * 事件触发方法缓存结构
// *
// * @author chenglong@gogpay.cn
// * @date 2021年8月17日, 0017
// */
//public class EventTargetMethod {
//    /**
//     * 订单状态触发方法体
//     */
//    private final Method method;
//
//    /**
//     * 方法执行前订单需要处于哪些订单状态
//     */
//    private final List<OrderStatusEnum> behindStatus;
//
//    /**
//     * 事件方法上的元数据注解
//     */
//    private final OnOrderStatusEvent event;
//
//    private final List<MethodParam> params;
//
//
//    public EventTargetMethod(Method method, OnOrderStatusEvent event, List<MethodParam> params) {
//        this.method = method;
//        this.event = event;
//        this.behindStatus = Arrays.asList(event.behindStatus());
//        this.params = params;
//    }
//
//    public List<MethodParam> getParams() {
//        return params;
//    }
//
//    public List<OrderStatusEnum> getBehindStatus() {
//        return behindStatus;
//    }
//
//    public Method getMethod() {
//        return method;
//    }
//
//    public OnOrderStatusEvent getEvent() {
//        return event;
//    }
//
//    @Override
//    public String toString() {
//        return JSON.toJSONString(this);
//    }
//}
